# -*- coding: iso-8859-1 -*-
# file Drawable.py
# author Rocco Martino
#
############################################################################
#    Copyright (C) 2015 by Rocco Martino                                   #
#    martinorocco@gmail.com                                                #
#                                                                          #
#    This program is free software; you can redistribute it and/or modify  #
#    it under the terms of the GNU Lesser General Public License as        #
#    published by the Free Software Foundation; either version 2.1 of the  #
#    License, or (at your option) any later version.                       #
#                                                                          #
#    This program is distributed in the hope that it will be useful,       #
#    but WITHOUT ANY WARRANTY; without even the implied warranty of        #
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         #
#    GNU Lesser General Public License for more details.                   #
#                                                                          #
#    You should have received a copy of the GNU Lesser General Public      #
#    License along with this program; if not, write to the                 #
#    Free Software Foundation, Inc.,                                       #
#    59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             #
############################################################################

############################################################################
from . import Object, StateSet
############################################################################




############################################################################
# ........................................................................ #
# ........................................................................ #
############################################################################




############################################################################
# ........................................................................ #
class Drawable(Object.Object):





############################################################################
############################################################################









############################################################################
    def __init__(self, obj, data):
        super(Drawable, self).__init__(obj, data)

        self.ClassName = "osg::Drawable"
############################################################################




############################################################################
    def writeData(self, writer):
        super(Drawable, self).writeData(writer)


        if len(self.BlenderObject.materials) > 0:

            material = self.BlenderObject.materials[0]

            stateset = StateSet.StateSet( material, self.Data )


            if not self.BlenderObject.show_double_sided:
                stateset.ModeList.addMode("GL_CULL_FACE ON")


            writer.moveIn("StateSet TRUE")

            stateset.writeObject(writer)

            writer.moveOut("StateSet TRUE")
############################################################################




# ........................................................................ #
############################################################################
